package cn.lg.soar.system.biz.modules.general.service;

import cn.lg.soar.database.base.service.IBaseService;
import cn.lg.soar.system.biz.modules.general.entity.Template;
import cn.lg.soar.system.api.model.TemplateCache;

import java.io.InputStream;
import java.util.List;

/**
 * 模板
 * @author luguoxiang
 * @since 2025-03-03
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface TemplateService extends IBaseService<Template> {

    TemplateCache getCacheById(Long id);

    TemplateCache getCacheByCode(String code);

    /**
     * 获取模板内容
     * @param code 编码
     * @return
     */
    String getContentAsText(String code);

    /**
     * 获取模板内容
     * @param code 编码
     * @return
     */
    InputStream getContentAsFile(String code);

    /**
     * 获取对应分组下的模板列表
     * @param groupCode
     * @return
     */
    List<Template> listByGroup(String groupCode);

}
